F

Felix Sylvest Olesen

- Software Engineer

Overview

AI Game Tester + Level Generator

University Dissertation

Developed a game-testing AI and level-generating AI that train in unison and adversarially to each other.

Timeframe

Sept 2022 - Jun 2023

Tech Stack

Unity · C# · Python · Unity ML Agents

Domain

RL Research

Outcome

Dissertation Research

Contents

01

Overview

02

What I Built

03

What I Learned

04

Gallery

Built With

ML

Deep RL

Unity

Unity ML Agents

C#

Python

Adversarial RL

01

Overview

I came up with the idea for this dissertation after finding a research paper made by SEED, the R&D company for Electronic Arts, which acted as a showcase for how AI could improve the game development process in the future. These AI agents were dubbed the "ARLPCG"

I was inspired to A: implement this process using a basic laptop, and B: try and improve on their design by making it more accessible to indie game developers with only a laptop or PC to work with.

After reading countless papers, creating the simple 3D platforming game to train the models on, and implementing the base ARLPCG, I decided on adding Imitation Learning to the training process. This entails having the AI start training with a metaphorical guidebook of human gameplay to learn from rather than just making random decisions and losing valuable time because of it. I dubbed this design the "IL-ARLPCG"

After a lot of hyper-parameter tuning and playing around with the reward function, I had found a sweet spot for the new IL-ARLPCG that was able to speed up the training process and maximise reward faster than the original design.

02

What I Built

I first needed to learn Unity and the Unity ML-Agents package for me to create a bsic 3D paltforming game, this was my first time learning it as well as C# as a language.

Once the game functionality was implemented, the agent was attached and reward signals were implemented into the game project at specific hooks in the game loop.

The game instance connected to a python backend that was taking in data from the game and agent observations to train a neural network on the respective reward from agent actions, resulting in more acurate actions being chosen as an output.

03

What I learned

Even with pseudocode and guidelines for implementation and performance, creating a functional model is never easy. Research is an arduous yet rewarding trial and error process that thrives with creative, out-of-the-box decisions.

04

Gallery

overviewMedia overviewMedia overviewMedia

GET IN TOUCH

Let's Build Something

Felix Sylvest Olesen — © 2026
London, UK · felixolesen@gmail.com